Switching systems provide data transfer services between at least two end users. In one implementation the data transferred relates to communication services, such as, voice calls, video conferences, etc. In such implementations, a user may access an end point, which may be a telephone, video phone, networked computer or any other communication element and submit a service request to communicate with another end point. Generally, a service request is transmitted from one end point to a second end point across the switching system. The switching system may be scalable and include a plurality of end points connected via a network of routers. The routers transfer messages from a service requesting end point to a destination end point. Specifically, for example, when a voice call is placed, voice data may be digitized and inserted into data packets. Each data packet includes a header that details an address corresponding to the destination end point. The data packet is transmitted from the service requesting end point to a first router which transfers the packet to another router according to a dynamically determined data transmission path. The router transfer is executed repeatedly until the message packet reaches the destination end point.
In an exemplary network connecting two end points, there may be a plurality of routers available to transfer data between two end points. One method of quantifying the performance of a given network is a Quality of Service (QoS) parameter associated with the network. Network characteristics used to determine the QoS include a measure of the current traffic or load on the network, a measure of properly transmitted messages, a measure of improperly transmitted messages, the number of end points served, and the types of services available. It is critical to maintain an acceptable QoS even during periods of high network traffic. Optimizing the number of messages properly transmitted, that is providing an acceptable level of QoS, while minimizing the infrastructure (e.g., number of routers on a given network) is a significant challenge in the area of telecommunications.
One method of maintaining an acceptable QoS level relates to prioritizing the types of communication services available. On a given network the different types of services, such as voice calls or video conference calls may be associated with a priority level. Accordingly, based on a measure of the traffic level on the network, a networked base station may disconnect one or more already connected lower priority data transfers to maintain QoS.
This method for maintaining acceptable levels of QoS, however, has significant limitations. For example, assuming a low priority is associated with a telephone call, this method involves terminating a user's established telephone conversation, in favor of a higher priority data transfer. While this known solution may bolster QoS on a given network, it generally unacceptable to a user to have an established, ongoing telephone conversation terminated in the sole interest of maintaining a high QoS for the network.
Another method for maintaining high levels of data transfer involves a process of throttling data through a router on a network based on a priority associated with the data. However, this approach only addresses determining the timing associated with transmitting data flowing through a given router.
Yet another method for maintaining the quality of data transfers on a switching system involves controlling an overload condition of a main processor on a distributed switching system by informing lower level processors of an overload state in the main processor. With the overload notice, the main processor delegates the functionality of automatically calculating parameters of network traffic to the lower level processors. However, this may put a significant burden on the lower level processors associated with such a switching system.